/* 引入Vue 引入App */
import Vue from 'vue'
import App from './App.vue'

/* 引入路由 */
import router from "./router"

/* 注册全局组件 TypeNav */
import TypeNav from "./components/TypeNav"
Vue.component("TypeNav", TypeNav)

/* 引入store vuex*/
import store from "./store"

/* 启动mockServer */
import "./mock/mockServer"

/* 阻止vue生产提示 */
Vue.config.productionTip = false

/* 完全引入 elementui */
// import ElementUI from "element-ui"
// import "element-ui/lib/theme-chalk/index.css"
// Vue.use(ElementUI)

/* 按需引入 ElementUI   */
import "element-ui/lib/theme-chalk/index.css"
import { MessageBox } from 'element-ui'

Vue.prototype.$alert = MessageBox.alert



/* 图片懒加载   
  1.引入依赖和图片 2.使用依赖和图片 
  3.组件需要使用的地方将img :src 替换成 v-lazy 
*/
import VueLazyload from 'vue-lazyload'
import loading from "./assets/images/loading.png"
Vue.use(VueLazyload, {
  loading: loading
})
/* 引入validate.js  对表单进行规则验证 */
import "./utils/validate"
/* 测试 */
// import "./api"
// import "./store/modules/search.js"

/* 引入api  ajax */
import * as API from "./api"
new Vue({
  beforeCreate() {
    /* 挂载全局事件总线 */
    Vue.prototype.$bus = this;
    /* 将api挂载到vue的原型对象中 */
    Vue.prototype.$API = API;
  },
  /* 注册路由，所有的组件都可以通过$route来访问 */
  router,
  /* 注册store，所有的组件都可以通过$store来访问 */
  store,
  render: h => h(App),
}).$mount('#app')
